home *** CD-ROM | disk | FTP | other *** search
Unknown | 1999-08-04 | 6.4 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
| |
100%
| gt2
| Kopftext: ';-----------------------------------------------------------'
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|00000010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 00 3b 20 20 |--------|----.; |
|00000040| 20 20 20 20 20 20 20 20 | 20 20 20 20 55 44 50 5f | | UDP_|
|00000050| 46 75 6e 63 73 20 20 56 | 31 2e 35 20 20 32 33 2f |Funcs V|1.5 23/|
|00000060| 30 37 2f 39 39 20 62 61 | 73 65 64 20 6f 6e 00 3b |07/99 ba|sed on.;|
|00000070| 20 53 74 61 6e 64 61 72 | 64 20 42 6c 69 74 7a 20 | Standar|d Blitz |
|00000080| 54 43 50 20 46 75 6e 63 | 74 69 6f 6e 73 20 56 31 |TCP Func|tions V1|
|00000090| 2e 35 20 62 79 20 50 61 | 75 6c 20 42 75 72 6b 65 |.5 by Pa|ul Burke|
|000000a0| 79 20 28 63 29 31 39 39 | 37 00 3b 20 43 6f 6d 70 |y (c)199|7.; Comp|
|000000b0| 69 6c 65 64 20 77 69 74 | 68 20 68 65 6c 70 20 66 |iled wit|h help f|
|000000c0| 72 6f 6d 20 45 72 63 6f | 6c 65 20 53 70 69 74 65 |rom Erco|le Spite|
|000000d0| 72 69 20 61 6e 64 20 41 | 6e 74 6f 6e 20 52 65 69 |ri and A|nton Rei|
|000000e0| 6e 61 75 65 72 00 3b 20 | 59 6f 75 20 6d 75 73 74 |nauer.; |You must|
|000000f0| 20 68 61 76 65 20 74 68 | 65 20 62 73 64 73 6f 63 | have th|e bsdsoc|
|00000100| 6b 65 74 2e 6c 69 62 72 | 61 72 79 20 73 65 74 75 |ket.libr|ary setu|
|00000110| 70 20 69 6e 20 42 6c 69 | 74 7a 00 3b 20 20 20 62 |p in Bli|tz.; b|
|00000120| 79 20 41 6e 74 6f 6e 20 | 52 65 69 6e 61 75 65 72 |y Anton |Reinauer|
|00000130| 20 61 6e 74 6f 6e 40 77 | 77 2e 63 6f 2e 6e 7a 00 | anton@w|w.co.nz.|
|00000140| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|00000150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 00 00 3b 2d |--------|----..;-|
|00000180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001a0| 00 3b 20 53 74 61 6e 64 | 61 72 64 20 55 44 50 20 |.; Stand|ard UDP |
|000001b0| 42 6c 69 74 7a 20 46 75 | 6e 63 74 69 6f 6e 73 00 |Blitz Fu|nctions.|
|000001c0| 3b 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;-------|--------|
|000001d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001e0| 2d 2d 00 00 2e 47 65 74 | 5f 48 6f 73 74 5f 42 79 |--...Get|_Host_By|
|000001f0| 5f 4e 61 6d 65 20 20 20 | 20 20 20 20 20 3b 20 67 |_Name | ; g|
|00000200| 65 74 20 61 20 68 6f 73 | 74 20 73 74 72 75 63 74 |et a hos|t struct|
|00000210| 75 72 65 20 62 79 20 6e | 61 6d 65 20 28 69 66 20 |ure by n|ame (if |
|00000220| 65 78 69 73 74 73 29 2c | 20 66 72 6f 6d 20 61 20 |exists),| from a |
|00000230| 6e 61 6d 65 20 73 65 72 | 76 65 72 00 80 09 20 47 |name ser|ver... G|
|00000240| 65 74 5f 48 6f 73 74 5f | 42 79 5f 4e 61 6d 65 7b |et_Host_|By_Name{|
|00000250| 68 6f 73 74 24 2c 70 6f | 72 74 2e 77 2c 70 6c 61 |host$,po|rt.w,pla|
|00000260| 79 65 72 7d 00 20 20 80 | 15 20 68 6f 73 74 28 29 |yer}. .|. host()|
|00000270| 2c 68 6f 73 74 6c 65 6e | 28 29 00 00 20 20 2a 61 |,hostlen|().. *a|
|00000280| 2e 68 6f 73 74 65 6e 74 | 3d ec 9f 28 68 6f 73 74 |.hostent|=..(host|
|00000290| 24 29 20 20 20 20 20 3b | 20 73 65 74 20 75 70 20 |$) ;| set up |
|000002a0| 64 65 73 74 69 6e 61 74 | 69 6f 6e 20 61 64 64 72 |destinat|ion addr|
|000002b0| 65 73 73 20 74 6f 20 73 | 65 6e 64 20 70 61 63 6b |ess to s|end pack|
|000002c0| 65 74 73 20 74 6f 00 20 | 20 80 0b 20 2a 61 2e 68 |ets to. | .. *a.h|
|000002d0| 6f 73 74 65 6e 74 3d 30 | 00 20 20 20 20 53 65 63 |ostent=0|. Sec|
|000002e0| 75 72 69 74 79 5f 57 61 | 72 6e 69 6e 67 7b 22 43 |urity_Wa|rning{"C|
|000002f0| 6f 75 6c 64 6e 27 74 20 | 67 65 74 20 4c 6f 63 61 |ouldn't |get Loca|
|00000300| 6c 68 6f 73 74 20 6e 61 | 6d 65 21 22 2c 23 48 49 |lhost na|me!",#HI|
|00000310| 47 48 7d 00 20 20 20 20 | 80 09 20 80 07 20 bc 0f |GH}. |.. .. ..|
|00000320| 00 20 20 80 c0 00 00 20 | 20 3b 43 6f 70 79 20 44 |. .... | ;Copy D|
|00000330| 65 74 61 69 6c 73 20 74 | 6f 20 6f 75 72 20 53 6f |etails t|o our So|
|00000340| 63 6b 61 64 64 72 69 6e | 20 73 74 72 75 63 74 75 |ckaddrin| structu|
|00000350| 72 65 00 00 20 20 62 62 | 3d fe db 28 2a 61 2e 68 |re.. bb|=..(*a.h|
|00000360| 6f 73 74 65 6e 74 5c 68 | 5f 61 64 64 72 5f 6c 69 |ostent\h|_addr_li|
|00000370| 73 74 5c 49 74 65 6d 41 | 2c 26 68 6f 73 74 28 70 |st\ItemA|,&host(p|
|00000380| 6c 61 79 65 72 29 5c 73 | 69 6e 5f 61 64 64 72 2c |layer)\s|in_addr,|
|00000390| 2a 61 2e 68 6f 73 74 65 | 6e 74 5c 68 5f 6c 65 6e |*a.hoste|nt\h_len|
|000003a0| 67 74 68 29 00 00 20 20 | 68 6f 73 74 28 70 6c 61 |gth).. |host(pla|
|000003b0| 79 65 72 29 5c 73 69 6e | 5f 70 6f 72 74 3d 70 6f |yer)\sin|_port=po|
|000003c0| 72 74 20 20 20 20 20 20 | 20 3b 53 65 74 20 70 6f |rt | ;Set po|
|000003d0| 72 74 20 6e 75 6d 62 65 | 72 00 20 20 68 6f 73 74 |rt numbe|r. host|
|000003e0| 28 70 6c 61 79 65 72 29 | 5c 73 69 6e 5f 66 61 6d |(player)|\sin_fam|
|000003f0| 69 6c 79 3d 32 20 20 20 | 20 20 20 20 20 3b 53 65 |ily=2 | ;Se|
|00000400| 74 20 74 79 70 65 20 74 | 6f 20 41 54 5f 49 4e 45 |t type t|o AT_INE|
|00000410| 54 00 20 20 68 6f 73 74 | 6c 65 6e 28 70 6c 61 79 |T. host|len(play|
|00000420| 65 72 29 3d 80 2f 2e 73 | 6f 63 6b 61 64 64 72 69 |er)=./.s|ockaddri|
|00000430| 6e 20 20 20 20 20 20 20 | 20 3b 47 65 74 20 6c 65 |n | ;Get le|
|00000440| 6e 67 74 68 20 6f 66 20 | 73 74 72 75 63 74 75 72 |ngth of |structur|
|00000450| 65 20 73 6f 63 6b 61 64 | 64 72 69 6e 00 00 20 20 |e sockad|drin.. |
|00000460| 80 09 20 80 07 20 bc 0e | 00 80 02 20 80 09 00 00 |.. .. ..|... ....|
|00000470| 2e 47 65 74 5f 48 6f 73 | 74 5f 42 79 5f 41 64 64 |.Get_Hos|t_By_Add|
|00000480| 72 65 73 73 20 20 20 20 | 20 20 3b 20 67 65 74 20 |ress | ; get |
|00000490| 61 20 68 6f 73 74 20 73 | 74 72 75 63 74 75 72 65 |a host s|tructure|
|000004a0| 20 62 79 20 61 64 64 72 | 65 73 73 20 28 69 66 20 | by addr|ess (if |
|000004b0| 65 78 69 73 74 73 29 2c | 20 66 72 6f 6d 20 61 20 |exists),| from a |
|000004c0| 6e 61 6d 65 20 73 65 72 | 76 65 72 00 80 09 2e 62 |name ser|ver....b|
|000004d0| 20 47 65 74 5f 48 6f 73 | 74 5f 42 79 5f 41 64 64 | Get_Hos|t_By_Add|
|000004e0| 72 65 73 73 7b 61 64 64 | 72 65 73 73 2e 6c 2c 70 |ress{add|ress.l,p|
|000004f0| 6f 72 74 2c 70 6c 61 79 | 65 72 7d 00 20 20 80 15 |ort,play|er}. ..|
|00000500| 20 68 6f 73 74 28 29 2c | 68 6f 73 74 6c 65 6e 28 | host(),|hostlen(|
|00000510| 29 00 00 20 20 2a 61 2e | 68 6f 73 74 65 6e 74 3d |).. *a.|hostent=|
|00000520| ec a0 28 61 64 64 72 65 | 73 73 2c 34 2c 32 29 20 |..(addre|ss,4,2) |
|00000530| 20 3b 20 63 68 65 63 6b | 20 77 65 74 68 65 72 20 | ; check| wether |
|00000540| 68 6f 73 74 20 65 78 69 | 73 74 73 2d 20 77 65 27 |host exi|sts- we'|
|00000550| 72 65 20 6e 6f 74 20 62 | 65 69 6e 67 20 73 68 61 |re not b|eing sha|
|00000560| 6d 6d 65 64 00 00 20 20 | 80 0b 20 2a 61 2e 68 6f |mmed.. |.. *a.ho|
|00000570| 73 74 65 6e 74 3d 30 00 | 20 20 20 20 53 65 63 75 |stent=0.| Secu|
|00000580| 72 69 74 79 5f 57 61 72 | 6e 69 6e 67 7b 22 43 6f |rity_War|ning{"Co|
|00000590| 75 6c 64 6e 27 74 20 67 | 65 74 20 4c 6f 63 61 6c |uldn't g|et Local|
|000005a0| 68 6f 73 74 20 6e 61 6d | 65 21 22 2c 23 48 49 47 |host nam|e!",#HIG|
|000005b0| 48 7d 00 20 20 20 20 80 | 09 20 80 07 20 bc 0f 00 |H}. .|. .. ...|
|000005c0| 20 20 80 c0 00 00 20 20 | 62 62 3d fe db 28 2a 61 | .... |bb=..(*a|
|000005d0| 2e 68 6f 73 74 65 6e 74 | 5c 68 5f 61 64 64 72 5f |.hostent|\h_addr_|
|000005e0| 6c 69 73 74 5c 49 74 65 | 6d 41 2c 26 68 6f 73 74 |list\Ite|mA,&host|
|000005f0| 28 70 6c 61 79 65 72 29 | 5c 73 69 6e 5f 61 64 64 |(player)|\sin_add|
|00000600| 72 2c 2a 61 2e 68 6f 73 | 74 65 6e 74 5c 68 5f 6c |r,*a.hos|tent\h_l|
|00000610| 65 6e 67 74 68 29 20 3b | 20 63 6f 70 79 20 64 65 |ength) ;| copy de|
|00000620| 74 61 69 6c 73 20 74 6f | 20 70 6c 61 79 65 72 27 |tails to| player'|
|00000630| 73 20 68 6f 73 74 00 20 | 20 20 20 20 20 20 20 20 |s host. | |
|00000640| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000650| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000660| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000670| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000680| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00000690| 6e 65 77 74 79 70 65 20 | 74 6f 20 68 6f 73 74 00 |newtype |to host.|
|000006a0| 20 20 68 6f 73 74 28 70 | 6c 61 79 65 72 29 5c 73 | host(p|layer)\s|
|000006b0| 69 6e 5f 70 6f 72 74 3d | 70 6f 72 74 20 20 20 20 |in_port=|port |
|000006c0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 53 65 74 20 | | ;Set |
|000006d0| 70 6f 72 74 20 6e 75 6d | 62 65 72 00 20 20 68 6f |port num|ber. ho|
|000006e0| 73 74 28 70 6c 61 79 65 | 72 29 5c 73 69 6e 5f 66 |st(playe|r)\sin_f|
|000006f0| 61 6d 69 6c 79 3d 32 20 | 20 20 20 20 20 20 20 20 |amily=2 | |
|00000700| 20 20 20 20 20 20 20 3b | 53 65 74 20 74 79 70 65 | ;|Set type|
|00000710| 20 74 6f 20 41 54 5f 49 | 4e 45 54 00 20 20 68 6f | to AT_I|NET. ho|
|00000720| 73 74 6c 65 6e 28 70 6c | 61 79 65 72 29 3d 80 2f |stlen(pl|ayer)=./|
|00000730| 2e 73 6f 63 6b 61 64 64 | 72 69 6e 20 20 20 20 20 |.sockadd|rin |
|00000740| 20 20 20 3b 47 65 74 20 | 6c 65 6e 67 74 68 20 6f | ;Get |length o|
|00000750| 66 20 73 74 72 75 63 74 | 75 72 65 20 73 6f 63 6b |f struct|ure sock|
|00000760| 61 64 64 72 69 6e 00 20 | 20 80 09 20 80 07 20 bc |addrin. | .. .. .|
|00000770| 0e 00 80 02 20 80 09 00 | 00 2e 4c 6f 63 61 6c 68 |.... ...|..Localh|
|00000780| 6f 73 74 5f 4e 61 6d 65 | 00 80 09 2e 73 20 4c 6f |ost_Name|....s Lo|
|00000790| 63 61 6c 68 6f 73 74 5f | 4e 61 6d 65 7b 7d 00 20 |calhost_|Name{}. |
|000007a0| 20 20 20 80 0b 20 be 01 | 20 28 30 2c 22 45 4e 56 | .. ..| (0,"ENV|
|000007b0| 3a 48 4f 53 54 4e 41 4d | 45 22 29 00 20 20 20 20 |:HOSTNAM|E"). |
|000007c0| 20 20 20 be 08 20 30 00 | 20 20 20 20 20 20 20 80 | .. 0.| .|
|000007d0| 0c 20 80 89 20 be 0d 28 | 30 29 00 20 20 20 20 20 |. .. ..(|0). |
|000007e0| 20 20 20 20 61 24 3d 61 | 24 2b dd 02 00 20 20 20 | a$=a|$+... |
|000007f0| 20 20 20 20 80 c1 00 20 | 20 20 20 20 20 20 be 02 | ... | ..|
|00000800| 20 30 00 20 20 20 20 20 | 20 20 c5 11 20 30 00 20 | 0. | .. 0. |
|00000810| 20 20 20 20 20 20 80 09 | 20 80 07 20 61 24 00 20 | ..| .. a$. |
|00000820| 20 20 20 80 c0 00 20 20 | 20 20 80 09 20 80 07 20 | ... | .. .. |
|00000830| 22 6c 6f 63 61 6c 68 6f | 73 74 22 00 80 02 20 80 |"localho|st"... .|
|00000840| 09 00 00 2e 52 65 61 64 | 55 44 50 00 80 09 20 2e |....Read|UDP... .|
|00000850| 73 20 52 65 61 64 55 44 | 50 7b 7d 00 20 20 80 15 |s ReadUD|P{}. ..|
|00000860| 20 73 6f 63 6b 2e 6c 2c | 55 44 50 6d 65 6d 2e 6c | sock.l,|UDPmem.l|
|00000870| 2c 74 65 6d 70 68 6f 73 | 74 2c 74 65 6d 70 68 6f |,temphos|t,tempho|
|00000880| 73 74 6c 65 6e 00 00 20 | 20 3b 20 54 68 69 73 20 |stlen.. | ; This |
|00000890| 46 75 6e 63 74 69 6f 6e | 20 72 65 61 64 73 20 64 |Function| reads d|
|000008a0| 61 74 61 20 66 72 6f 6d | 20 74 68 65 20 73 6f 63 |ata from| the soc|
|000008b0| 6b 65 74 20 69 74 20 69 | 73 20 62 6f 75 6e 64 20 |ket it i|s bound |
|000008c0| 74 6f 2e 00 20 20 3b 20 | 49 66 20 74 68 65 72 65 |to.. ; |If there|
|000008d0| 20 69 73 20 6e 6f 20 6d | 65 73 73 61 67 65 73 20 | is no m|essages |
|000008e0| 74 68 65 6e 20 69 74 20 | 77 69 6c 6c 20 72 65 74 |then it |will ret|
|000008f0| 75 72 6e 20 61 6e 20 65 | 6d 70 74 79 20 73 74 72 |urn an e|mpty str|
|00000900| 69 6e 67 20 3d 22 22 00 | 00 20 20 73 6f 63 6b 72 |ing ="".|. sockr|
|00000910| 65 61 64 2e 6c 3d 30 20 | 20 20 20 20 20 20 20 20 |ead.l=0 | |
|00000920| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000930| 20 20 20 20 20 3b 43 6c | 65 61 72 20 52 65 61 64 | ;Cl|ear Read|
|00000940| 6d 61 73 6b 00 20 20 73 | 6f 63 6b 72 65 61 64 2e |mask. s|ockread.|
|00000950| 6c 20 80 ce 20 73 6f 63 | 6b 2e 6c 20 20 20 20 20 |l .. soc|k.l |
|00000960| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 53 65 | | ;Se|
|00000970| 74 20 52 65 61 64 6d 61 | 73 6b 20 6f 6e 20 6f 75 |t Readma|sk on ou|
|00000980| 72 20 73 6f 63 6b 65 74 | 00 20 20 65 3d ec 8f 28 |r socket|. e=..(|
|00000990| 73 6f 63 6b 2e 6c 2c 23 | 46 49 4f 4e 52 45 41 44 |sock.l,#|FIONREAD|
|000009a0| 2c 55 44 50 6d 65 6d 2e | 6c 29 20 3b 48 6f 77 20 |,UDPmem.|l) ;How |
|000009b0| 6d 75 63 68 20 64 61 74 | 61 20 69 73 20 74 68 65 |much dat|a is the|
|000009c0| 72 65 3f 00 20 20 66 2e | 6c 3d da 02 2e 6c 28 55 |re?. f.|l=...l(U|
|000009d0| 44 50 6d 65 6d 2e 6c 29 | 20 20 20 20 20 20 20 20 |DPmem.l)| |
|000009e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 50 | | ;P|
|000009f0| 6c 61 63 65 20 76 61 6c | 75 65 20 69 6e 20 66 00 |lace val|ue in f.|
|00000a00| 00 20 20 80 0b 20 66 3e | 30 20 20 20 20 20 20 20 |. .. f>|0 |
|00000a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 61 | | ; a|
|00000a30| 6e 79 20 64 61 74 61 20 | 77 61 69 74 69 6e 67 00 |ny data |waiting.|
|00000a40| 20 20 20 20 74 65 6d 70 | 68 6f 73 74 6c 65 6e 3d | temp|hostlen=|
|00000a50| 80 2f 20 2e 73 6f 63 6b | 61 64 64 72 69 6e 00 20 |./ .sock|addrin. |
|00000a60| 20 20 20 63 3d ec 88 28 | 73 6f 63 6b 2e 6c 2c 55 | c=..(|sock.l,U|
|00000a70| 44 50 6d 65 6d 2e 6c 2c | 66 2c 30 2c 74 65 6d 70 |DPmem.l,|f,0,temp|
|00000a80| 68 6f 73 74 2c 74 65 6d | 70 68 6f 73 74 6c 65 6e |host,tem|phostlen|
|00000a90| 29 20 20 3b 52 65 61 64 | 20 61 6c 6c 20 64 61 74 |) ;Read| all dat|
|00000aa0| 61 20 77 61 69 74 69 6e | 67 20 6f 6e 20 73 6f 63 |a waitin|g on soc|
|00000ab0| 6b 65 74 00 20 20 20 20 | 20 20 20 20 20 20 20 20 |ket. | |
|00000ac0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ad0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000ae0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|00000af0| 61 6e 64 20 67 65 74 20 | 68 6f 73 74 20 69 74 20 |and get |host it |
|00000b00| 77 61 73 20 73 65 6e 74 | 20 66 72 6f 6d 20 69 6e |was sent| from in|
|00000b10| 20 74 65 6d 70 68 6f 73 | 74 00 20 20 20 20 80 0b | temphos|t. ..|
|00000b20| 20 63 3e 30 20 20 20 20 | 3b 20 69 66 20 74 68 65 | c>0 |; if the|
|00000b30| 72 65 20 61 6e 79 20 64 | 61 74 61 20 77 61 69 74 |re any d|ata wait|
|00000b40| 69 6e 67 00 20 20 20 20 | 20 20 20 20 61 3d 30 20 |ing. | a=0 |
|00000b50| 3a 20 63 24 3d 22 22 00 | 20 20 20 20 20 20 20 20 |: c$="".| |
|00000b60| 80 bb 00 20 20 20 20 20 | 20 20 20 20 20 20 20 63 |... | c|
|00000b70| 24 3d 63 24 2b dc 86 28 | da 02 2e 62 28 55 44 50 |$=c$+..(|...b(UDP|
|00000b80| 6d 65 6d 2b 61 29 29 20 | 3a 20 61 2b 31 20 20 20 |mem+a)) |: a+1 |
|00000b90| 20 3b 20 62 75 69 6c 64 | 20 73 74 72 69 6e 67 00 | ; build| string.|
|00000ba0| 20 20 20 20 20 20 20 20 | 80 bc 20 61 3d 63 00 20 | |.. a=c. |
|00000bb0| 20 20 20 80 c0 00 00 20 | 20 80 c0 00 00 20 20 80 | .... | .... .|
|00000bc0| 09 20 80 07 20 63 24 00 | 80 02 20 80 09 00 00 2e |. .. c$.|.. .....|
|00000bd0| 49 6e 69 74 69 61 6c 69 | 73 65 5f 55 44 50 00 80 |Initiali|se_UDP..|
|00000be0| 09 20 49 6e 69 74 69 61 | 6c 69 73 65 5f 55 44 50 |. Initia|lise_UDP|
|00000bf0| 7b 70 6f 72 74 2e 77 7d | 00 20 20 80 15 20 73 6f |{port.w}|. .. so|
|00000c00| 63 6b 2e 6c 2c 68 6f 73 | 74 28 29 2c 68 6f 73 74 |ck.l,hos|t(),host|
|00000c10| 6c 65 6e 28 29 2c 70 6f | 72 74 5f 75 73 65 64 2c |len(),po|rt_used,|
|00000c20| 68 6f 73 74 6e 61 6d 65 | 2c 74 63 70 5f 73 74 61 |hostname|,tcp_sta|
|00000c30| 63 6b 00 20 20 80 15 20 | 55 44 50 6d 65 6d 2e 6c |ck. .. |UDPmem.l|
|00000c40| 2c 70 6c 61 79 65 72 5f | 69 6e 66 6f 5f 62 75 66 |,player_|info_buf|
|00000c50| 66 65 72 2e 6c 2c 70 6c | 61 79 65 72 5f 69 6e 66 |fer.l,pl|ayer_inf|
|00000c60| 6f 5f 62 75 66 66 65 72 | 5f 73 69 7a 65 2e 6c 00 |o_buffer|_size.l.|
|00000c70| 20 20 80 15 20 6d 61 78 | 5f 6e 75 6d 62 65 72 5f | .. max|_number_|
|00000c80| 70 6c 61 79 65 72 73 00 | 20 20 3b 00 20 20 3b 20 |players.| ;. ; |
|00000c90| 4f 70 65 6e 20 55 44 50 | 20 73 6f 63 6b 65 74 20 |Open UDP| socket |
|00000ca0| 61 6e 64 20 62 69 6e 64 | 20 69 74 20 74 6f 20 61 |and bind| it to a|
|00000cb0| 20 70 6f 72 74 20 6e 75 | 6d 62 65 72 00 20 20 3b | port nu|mber. ;|
|00000cc0| 20 52 65 74 75 72 6e 20 | 74 72 75 65 20 6f 72 20 | Return |true or |
|00000cd0| 46 61 6c 73 65 20 69 66 | 20 73 75 63 63 65 73 73 |False if| success|
|00000ce0| 66 75 6c 20 6f 72 20 6e | 6f 74 00 20 20 3b 00 00 |ful or n|ot. ;..|
|00000cf0| 20 20 80 0b 20 74 63 70 | 5f 73 74 61 63 6b 3d bc | .. tcp|_stack=.|
|00000d00| 0f 20 20 20 20 3b 20 69 | 66 20 77 65 27 76 65 20 |. ; i|f we've |
|00000d10| 68 61 76 65 6e 27 74 20 | 61 6c 72 65 61 64 79 20 |haven't |already |
|00000d20| 49 6e 69 74 69 61 6c 69 | 73 65 64 20 55 44 50 00 |Initiali|sed UDP.|
|00000d30| 20 20 20 20 80 1c 20 23 | 4e 4f 5f 43 4f 4e 4e 45 | .. #|NO_CONNE|
|00000d40| 43 54 49 4f 4e 3d 31 20 | 20 20 3b 20 69 66 20 6e |CTION=1 | ; if n|
|00000d50| 6f 74 20 63 6f 6e 6e 65 | 63 74 65 64 20 74 6f 20 |ot conne|cted to |
|00000d60| 74 68 65 20 60 6e 65 74 | 2d 20 6a 75 73 74 20 72 |the `net|- just r|
|00000d70| 75 6e 6e 69 6e 67 20 6c | 6f 63 61 6c 6c 79 00 20 |unning l|ocally. |
|00000d80| 20 20 20 20 20 68 6f 73 | 74 24 3d 68 6f 73 74 6e | hos|t$=hostn|
|00000d90| 61 6d 65 00 20 20 20 20 | 80 1e 20 20 20 20 20 20 |ame. |.. |
|00000da0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 61 | | ; a|
|00000db0| 72 65 20 63 6f 6e 6e 65 | 63 74 65 64 20 74 6f 20 |re conne|cted to |
|00000dc0| 74 68 65 20 6e 65 74 20 | 6f 72 20 68 61 76 65 20 |the net |or have |
|00000dd0| 62 65 65 6e 20 73 69 6e | 63 65 20 63 6f 6d 70 75 |been sin|ce compu|
|00000de0| 74 65 72 20 77 61 73 20 | 62 6f 6f 74 65 64 20 75 |ter was |booted u|
|00000df0| 70 00 20 20 20 20 20 20 | 68 6f 73 74 24 3d 4c 6f |p. |host$=Lo|
|00000e00| 63 61 6c 68 6f 73 74 5f | 4e 61 6d 65 7b 7d 00 20 |calhost_|Name{}. |
|00000e10| 20 20 20 80 1f 00 00 20 | 20 20 20 6c 69 62 2e 6c | .... | lib.l|
|00000e20| 3d fe cf 28 22 62 73 64 | 73 6f 63 6b 65 74 2e 6c |=..("bsd|socket.l|
|00000e30| 69 62 72 61 72 79 22 2c | 30 29 20 20 20 3b 20 63 |ibrary",|0) ; c|
|00000e40| 68 65 63 6b 20 74 6f 20 | 73 65 65 20 69 66 20 61 |heck to |see if a|
|00000e50| 20 54 43 50 2f 49 50 20 | 73 74 61 63 6b 20 69 73 | TCP/IP |stack is|
|00000e60| 20 72 75 6e 6e 69 6e 67 | 00 20 20 20 20 80 0b 20 | running|. .. |
|00000e70| 6c 69 62 3d 30 00 20 20 | 20 20 20 20 53 65 63 75 |lib=0. | Secu|
|00000e80| 72 69 74 79 5f 57 61 72 | 6e 69 6e 67 7b 22 54 43 |rity_War|ning{"TC|
|00000e90| 50 2f 49 50 20 73 74 61 | 63 6b 20 6e 6f 74 20 72 |P/IP sta|ck not r|
|00000ea0| 75 6e 6e 69 6e 67 21 22 | 2c 23 48 49 47 48 7d 00 |unning!"|,#HIGH}.|
|00000eb0| 20 20 20 20 20 20 80 09 | 20 80 07 20 bc 0f 00 20 | ..| .. ... |
|00000ec0| 20 20 20 80 22 00 20 20 | 20 20 20 20 fe bb 28 6c | .". | ..(l|
|00000ed0| 69 62 29 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 |ib) | ; |
|00000ee0| 63 6c 6f 73 65 20 6c 69 | 62 20 61 67 61 69 6e 20 |close li|b again |
|00000ef0| 6f 72 20 4d 69 61 6d 69 | 20 77 6f 6e 27 74 20 65 |or Miami| won't e|
|00000f00| 78 69 74 00 20 20 20 20 | 20 20 73 6f 63 6b 2e 6c |xit. | sock.l|
|00000f10| 3d ec 81 28 32 2c 32 2c | 30 29 20 20 20 20 20 20 |=..(2,2,|0) |
|00000f20| 20 20 3b 20 6f 70 65 6e | 20 55 44 50 20 73 6f 63 | ; open| UDP soc|
|00000f30| 6b 65 74 00 20 20 20 20 | 20 20 80 0b 20 73 6f 63 |ket. | .. soc|
|00000f40| 6b 3d 2d 31 00 20 20 20 | 20 20 20 20 20 53 65 63 |k=-1. | Sec|
|00000f50| 75 72 69 74 79 5f 57 61 | 72 6e 69 6e 67 7b 22 43 |urity_Wa|rning{"C|
|00000f60| 6f 75 6c 64 6e 27 74 20 | 6f 70 65 6e 20 55 44 50 |ouldn't |open UDP|
|00000f70| 20 73 6f 63 6b 65 74 21 | 22 2c 23 48 49 47 48 7d | socket!|",#HIGH}|
|00000f80| 00 20 20 20 20 20 20 20 | 20 80 09 20 80 07 20 bc |. | .. .. .|
|00000f90| 0f 00 20 20 20 20 20 20 | 80 22 00 20 20 20 20 20 |.. |.". |
|00000fa0| 20 20 20 80 0b 20 47 65 | 74 5f 48 6f 73 74 5f 42 | .. Ge|t_Host_B|
|00000fb0| 79 5f 4e 61 6d 65 7b 68 | 6f 73 74 24 2c 70 6f 72 |y_Name{h|ost$,por|
|00000fc0| 74 2c 30 7d 3d bc 0f 00 | 20 20 20 20 20 20 20 20 |t,0}=...| |
|00000fd0| 20 20 80 09 20 80 07 20 | bc 0f 00 20 20 20 20 20 | .. .. |... |
|00000fe0| 20 20 20 80 c0 00 20 20 | 20 20 20 20 20 20 74 65 | ... | te|
|00000ff0| 6d 70 3d 30 00 20 20 20 | 20 20 20 20 20 70 6f 72 |mp=0. | por|
|00001000| 74 5f 75 73 65 64 3d 70 | 6f 72 74 00 20 20 20 20 |t_used=p|ort. |
|00001010| 20 20 20 20 80 bb 20 20 | 20 20 20 20 20 3b 20 66 | .. | ; f|
|00001020| 6f 72 20 74 65 73 74 69 | 6e 67 20 6f 6e 20 6c 6f |or testi|ng on lo|
|00001030| 63 61 6c 68 6f 73 74 2d | 20 6b 65 65 70 20 74 72 |calhost-| keep tr|
|00001040| 79 69 6e 67 20 6f 6e 65 | 20 70 6f 72 74 20 61 74 |ying one| port at|
|00001050| 20 61 20 74 69 6d 65 20 | 61 66 74 65 72 20 23 4c | a time |after #L|
|00001060| 4f 43 41 4c 50 4f 52 54 | 20 74 6f 20 66 69 6e 64 |OCALPORT| to find|
|00001070| 20 61 20 66 72 65 65 20 | 70 6f 72 74 00 20 20 20 | a free |port. |
|00001080| 20 20 20 20 20 20 20 68 | 6f 73 74 28 30 29 5c 73 | h|ost(0)\s|
|00001090| 69 6e 5f 70 6f 72 74 3d | 70 6f 72 74 5f 75 73 65 |in_port=|port_use|
|000010a0| 64 00 20 20 20 20 20 20 | 20 20 20 20 80 0b 20 ec |d. | .. .|
|000010b0| 82 28 73 6f 63 6b 2c 68 | 6f 73 74 28 30 29 2c 68 |.(sock,h|ost(0),h|
|000010c0| 6f 73 74 6c 65 6e 28 30 | 29 29 3d 30 20 20 20 20 |ostlen(0|))=0 |
|000010d0| 3b 20 62 69 6e 64 20 73 | 6f 63 6b 65 74 20 74 6f |; bind s|ocket to|
|000010e0| 20 70 6f 72 74 20 73 6f | 20 77 65 20 63 61 6e 00 | port so| we can.|
|000010f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 80 0b 20 55 | | .. U|
|00001100| 44 50 6d 65 6d 3d 30 00 | 20 20 20 20 20 20 20 20 |DPmem=0.| |
|00001110| 20 20 20 20 20 20 55 44 | 50 6d 65 6d 2e 6c 3d fe | UD|Pmem.l=.|
|00001120| 97 28 24 32 30 30 30 2c | 23 4d 45 4d 46 5f 50 55 |.($2000,|#MEMF_PU|
|00001130| 42 4c 49 43 29 20 20 20 | 20 20 20 20 3b 41 6c 6c |BLIC) | ;All|
|00001140| 6f 63 61 74 65 20 74 65 | 6d 70 20 62 75 66 66 65 |ocate te|mp buffe|
|00001150| 72 20 75 73 65 64 20 66 | 6f 72 20 61 6c 6c 20 55 |r used f|or all U|
|00001160| 44 50 20 72 65 61 64 73 | 00 20 20 20 20 20 20 20 |DP reads|. |
|00001170| 20 20 20 20 20 20 20 80 | 0b 20 55 44 50 6d 65 6d | .|. UDPmem|
|00001180| 3d 30 00 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |=0. | |
|00001190| 20 20 20 53 65 63 75 72 | 69 74 79 5f 57 61 72 6e | Secur|ity_Warn|
|000011a0| 69 6e 67 7b 22 4f 75 74 | 20 6f 66 20 6d 65 6d 6f |ing{"Out| of memo|
|000011b0| 72 79 20 66 6f 72 20 55 | 44 50 6d 65 6d 22 2c 23 |ry for U|DPmem",#|
|000011c0| 53 59 53 54 45 4d 5f 4d | 45 53 53 41 47 45 7d 00 |SYSTEM_M|ESSAGE}.|
|000011d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000011e0| 80 09 20 80 07 20 bc 0f | 00 20 20 20 20 20 20 20 |.. .. ..|. |
|000011f0| 20 20 20 20 20 20 20 80 | c0 00 20 20 20 20 20 20 | .|.. |
|00001200| 20 20 20 20 20 20 80 c0 | 00 00 20 20 20 20 20 20 | ..|.. |
|00001210| 20 20 20 20 20 20 80 0b | 20 70 6c 61 79 65 72 5f | ..| player_|
|00001220| 69 6e 66 6f 5f 62 75 66 | 66 65 72 3d 30 00 20 20 |info_buf|fer=0. |
|00001230| 20 20 20 20 20 20 20 20 | 20 20 20 20 70 6c 61 79 | | play|
|00001240| 65 72 5f 69 6e 66 6f 5f | 62 75 66 66 65 72 5f 73 |er_info_|buffer_s|
|00001250| 69 7a 65 2e 6c 3d 23 50 | 4c 41 59 45 52 5f 49 4e |ize.l=#P|LAYER_IN|
|00001260| 46 4f 5f 42 55 46 46 45 | 52 5f 53 49 5a 45 20 2a |FO_BUFFE|R_SIZE *|
|00001270| 20 6d 61 78 5f 6e 75 6d | 62 65 72 5f 70 6c 61 79 | max_num|ber_play|
|00001280| 65 72 73 00 20 20 20 20 | 20 20 20 20 20 20 20 20 |ers. | |
|00001290| 20 20 70 6c 61 79 65 72 | 5f 69 6e 66 6f 5f 62 75 | player|_info_bu|
|000012a0| 66 66 65 72 3d fe 97 28 | 70 6c 61 79 65 72 5f 69 |ffer=..(|player_i|
|000012b0| 6e 66 6f 5f 62 75 66 66 | 65 72 5f 73 69 7a 65 2c |nfo_buff|er_size,|
|000012c0| 23 4d 45 4d 46 5f 50 55 | 42 4c 49 43 29 00 20 20 |#MEMF_PU|BLIC). |
|000012d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 80 0b 20 70 | | .. p|
|000012e0| 6c 61 79 65 72 5f 69 6e | 66 6f 5f 62 75 66 66 65 |layer_in|fo_buffe|
|000012f0| 72 3d 30 00 20 20 20 20 | 20 20 20 20 20 20 20 20 |r=0. | |
|00001300| 20 20 20 20 53 65 63 75 | 72 69 74 79 5f 57 61 72 | Secu|rity_War|
|00001310| 6e 69 6e 67 7b 22 4f 75 | 74 20 6f 66 20 6d 65 6d |ning{"Ou|t of mem|
|00001320| 6f 72 79 20 66 6f 72 20 | 50 6c 61 79 65 72 20 49 |ory for |Player I|
|00001330| 6e 66 6f 20 42 75 66 66 | 65 72 22 2c 23 53 59 53 |nfo Buff|er",#SYS|
|00001340| 54 45 4d 5f 4d 45 53 53 | 41 47 45 7d 00 20 20 20 |TEM_MESS|AGE}. |
|00001350| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 80 09 20 | | .. |
|00001360| 80 07 20 bc 0f 00 20 20 | 20 20 20 20 20 20 20 20 |.. ... | |
|00001370| 20 20 20 20 80 c0 00 20 | 20 20 20 20 20 20 20 20 | ... | |
|00001380| 20 20 20 80 c0 00 20 20 | 20 20 20 20 20 20 20 20 | ... | |
|00001390| 20 20 74 63 70 5f 73 74 | 61 63 6b 3d bc 0e 20 20 | tcp_st|ack=.. |
|000013a0| 3b 20 6e 6f 74 65 20 74 | 68 61 74 20 77 65 20 68 |; note t|hat we h|
|000013b0| 61 76 65 20 69 6e 69 74 | 69 61 6c 69 73 65 64 20 |ave init|ialised |
|000013c0| 74 68 65 20 55 44 50 20 | 73 6f 63 6b 65 74 00 20 |the UDP |socket. |
|000013d0| 20 20 20 20 20 20 20 20 | 20 20 20 80 09 20 80 07 | | .. ..|
|000013e0| 20 bc 0e 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | .. | ; |
|000013f0| 72 65 63 65 69 76 65 20 | 64 61 74 61 20 6f 6e 20 |receive |data on |
|00001400| 70 6f 72 74 00 20 20 20 | 20 20 20 20 20 20 20 80 |port. | .|
|00001410| 22 00 20 20 20 20 20 20 | 20 20 20 20 20 20 70 6f |". | po|
|00001420| 72 74 5f 75 73 65 64 2b | 31 00 20 20 20 20 20 20 |rt_used+|1. |
|00001430| 20 20 20 20 20 20 74 65 | 6d 70 2b 31 00 20 20 20 | te|mp+1. |
|00001440| 20 20 20 20 20 20 20 80 | c0 00 20 20 20 20 20 20 | .|.. |
|00001450| 20 20 80 bc 20 74 65 6d | 70 3d 31 30 00 20 20 20 | .. tem|p=10. |
|00001460| 20 20 20 20 20 53 65 63 | 75 72 69 74 79 5f 57 61 | Sec|urity_Wa|
|00001470| 72 6e 69 6e 67 7b 22 43 | 6f 75 6c 64 6e 27 74 20 |rning{"C|ouldn't |
|00001480| 42 69 6e 64 20 61 20 55 | 44 50 20 73 6f 63 6b 65 |Bind a U|DP socke|
|00001490| 74 21 22 2c 23 48 49 47 | 48 7d 00 20 20 20 20 20 |t!",#HIG|H}. |
|000014a0| 20 20 20 80 09 20 80 07 | 20 bc 0f 00 20 20 20 20 | .. ..| ... |
|000014b0| 20 20 80 c0 00 20 20 20 | 20 80 c0 00 20 20 80 22 | ... | ... ."|
|000014c0| 00 20 20 20 20 80 bb 00 | 20 20 20 20 20 20 61 24 |. ...| a$|
|000014d0| 3d 52 65 61 64 55 44 50 | 7b 7d 20 20 20 3b 20 63 |=ReadUDP|{} ; c|
|000014e0| 6c 65 61 72 20 73 6f 63 | 6b 65 74 20 62 75 66 66 |lear soc|ket buff|
|000014f0| 65 72 20 6f 66 20 61 6e | 79 20 6f 6c 64 20 70 61 |er of an|y old pa|
|00001500| 63 6b 65 74 73 20 66 72 | 6f 6d 20 6c 61 73 74 20 |ckets fr|om last |
|00001510| 74 69 6d 65 20 77 65 20 | 77 65 72 65 20 63 6f 6e |time we |were con|
|00001520| 6e 65 63 74 65 64 00 20 | 20 20 20 80 bc 20 61 24 |nected. | .. a$|
|00001530| 3d 22 22 00 20 20 20 20 | 80 09 20 80 07 20 bc 0e |="". |.. .. ..|
|00001540| 20 20 3b 20 69 66 20 55 | 44 50 20 73 6f 63 6b 65 | ; if U|DP socke|
|00001550| 74 20 69 73 20 61 6c 72 | 65 61 64 79 20 69 6e 69 |t is alr|eady ini|
|00001560| 74 69 61 6c 69 73 65 64 | 00 20 20 80 c0 00 80 02 |tialised|. .....|
|00001570| 20 80 09 00 00 2e 57 72 | 69 74 65 55 44 50 00 80 | .....Wr|iteUDP..|
|00001580| 08 20 57 72 69 74 65 55 | 44 50 7b 61 64 2e 6c 2c |. WriteU|DP{ad.l,|
|00001590| 73 69 7a 65 2e 77 2c 70 | 6c 61 79 65 72 7d 00 20 |size.w,p|layer}. |
|000015a0| 20 80 15 20 73 6f 63 6b | 2e 6c 2c 68 6f 73 74 28 | .. sock|.l,host(|
|000015b0| 29 2c 68 6f 73 74 6c 65 | 6e 28 29 2c 74 65 6d 70 |),hostle|n(),temp|
|000015c0| 68 6f 73 74 2c 74 65 6d | 70 68 6f 73 74 6c 65 6e |host,tem|phostlen|
|000015d0| 00 00 20 20 3b 20 54 68 | 69 73 20 72 6f 75 74 69 |.. ; Th|is routi|
|000015e0| 6e 65 20 77 72 69 74 65 | 73 20 64 61 74 61 20 76 |ne write|s data v|
|000015f0| 69 61 20 55 44 50 00 00 | 20 20 73 6f 63 6b 77 72 |ia UDP..| sockwr|
|00001600| 69 74 65 2e 6c 3d 30 20 | 20 20 20 20 20 20 20 20 |ite.l=0 | |
|00001610| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001620| 3b 43 6c 65 61 72 20 57 | 72 69 74 65 6d 61 73 6b |;Clear W|ritemask|
|00001630| 00 20 20 73 6f 63 6b 77 | 72 69 74 65 2e 6c 20 80 |. sockw|rite.l .|
|00001640| ce 20 73 6f 63 6b 2e 6c | 20 20 20 20 20 20 20 20 |. sock.l| |
|00001650| 20 20 20 20 20 3b 73 65 | 74 20 57 72 69 74 65 6d | ;se|t Writem|
|00001660| 61 73 6b 20 6f 6e 20 6f | 75 72 20 73 6f 63 6b 65 |ask on o|ur socke|
|00001670| 74 00 20 20 67 3d ec 91 | 28 32 2c 30 2c 26 73 6f |t. g=..|(2,0,&so|
|00001680| 63 6b 77 72 69 74 65 2e | 6c 2c 30 2c 30 2c 30 29 |ckwrite.|l,0,0,0)|
|00001690| 20 3b 57 61 69 74 20 75 | 6e 74 69 6c 20 73 65 72 | ;Wait u|ntil ser|
|000016a0| 76 65 72 20 69 73 20 72 | 65 61 64 79 20 74 6f 20 |ver is r|eady to |
|000016b0| 72 65 61 64 20 6f 75 72 | 20 64 61 74 61 00 00 20 |read our| data.. |
|000016c0| 20 80 0b 20 70 6c 61 79 | 65 72 3e 30 00 20 20 20 | .. play|er>0. |
|000016d0| 20 63 3d ec 86 28 73 6f | 63 6b 2e 6c 2c 61 64 2c | c=..(so|ck.l,ad,|
|000016e0| 73 69 7a 65 2c 30 2c 68 | 6f 73 74 28 70 6c 61 79 |size,0,h|ost(play|
|000016f0| 65 72 29 2c 68 6f 73 74 | 6c 65 6e 28 70 6c 61 79 |er),host|len(play|
|00001700| 65 72 29 29 20 20 20 20 | 3b 53 65 6e 64 20 64 61 |er)) |;Send da|
|00001710| 74 61 20 74 6f 20 6f 6e | 6c 69 6e 65 20 68 6f 73 |ta to on|line hos|
|00001720| 74 00 20 20 80 22 00 20 | 20 20 20 63 3d ec 86 28 |t. .". | c=..(|
|00001730| 73 6f 63 6b 2e 6c 2c 61 | 64 2c 73 69 7a 65 2c 30 |sock.l,a|d,size,0|
|00001740| 2c 74 65 6d 70 68 6f 73 | 74 2c 74 65 6d 70 68 6f |,temphos|t,tempho|
|00001750| 73 74 6c 65 6e 29 20 20 | 20 20 20 20 20 20 20 20 |stlen) | |
|00001760| 20 20 3b 53 65 6e 64 20 | 64 61 74 61 20 74 6f 20 | ;Send |data to |
|00001770| 68 6f 73 74 20 74 68 61 | 74 27 73 20 6e 6f 74 20 |host tha|t's not |
|00001780| 63 6f 6e 6e 65 63 74 65 | 64 00 20 20 80 c0 00 80 |connecte|d. ....|
|00001790| 02 20 80 08 00 00 2e 43 | 6c 6f 73 65 5f 55 44 50 |. .....C|lose_UDP|
|000017a0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 63 6c 6f | | ; clo|
|000017b0| 73 65 20 64 6f 77 6e 20 | 55 44 50 20 73 6f 63 6b |se down |UDP sock|
|000017c0| 65 74 20 61 6e 64 20 72 | 65 61 64 20 62 75 66 66 |et and r|ead buff|
|000017d0| 65 72 00 80 08 20 43 6c | 6f 73 65 5f 55 44 50 7b |er... Cl|ose_UDP{|
|000017e0| 7d 00 20 20 80 15 20 55 | 44 50 6d 65 6d 2e 6c 2c |}. .. U|DPmem.l,|
|000017f0| 73 6f 63 6b 2e 6c 2c 74 | 63 70 5f 73 74 61 63 6b |sock.l,t|cp_stack|
|00001800| 2c 70 6c 61 79 65 72 5f | 69 6e 66 6f 5f 62 75 66 |,player_|info_buf|
|00001810| 66 65 72 5f 73 69 7a 65 | 2e 6c 00 20 20 80 15 20 |fer_size|.l. .. |
|00001820| 70 6c 61 79 65 72 5f 69 | 6e 66 6f 5f 62 75 66 66 |player_i|nfo_buff|
|00001830| 65 72 2e 6c 00 00 20 20 | 80 0b 20 55 44 50 6d 65 |er.l.. |.. UDPme|
|00001840| 6d 3e 30 00 20 20 20 20 | 61 3d fe 99 28 55 44 50 |m>0. |a=..(UDP|
|00001850| 6d 65 6d 2c 24 32 30 30 | 30 29 20 20 20 3b 20 66 |mem,$200|0) ; f|
|00001860| 72 65 65 20 55 44 50 20 | 72 65 61 64 20 6d 65 6d |ree UDP |read mem|
|00001870| 6f 72 79 20 62 75 66 66 | 65 72 00 20 20 20 20 55 |ory buff|er. U|
|00001880| 44 50 6d 65 6d 3d 30 00 | 20 20 80 c0 00 20 20 80 |DPmem=0.| ... .|
|00001890| 0b 20 70 6c 61 79 65 72 | 5f 69 6e 66 6f 5f 62 75 |. player|_info_bu|
|000018a0| 66 66 65 72 3e 30 00 20 | 20 20 20 20 61 3d fe 99 |ffer>0. | a=..|
|000018b0| 28 70 6c 61 79 65 72 5f | 69 6e 66 6f 5f 62 75 66 |(player_|info_buf|
|000018c0| 66 65 72 2c 70 6c 61 79 | 65 72 5f 69 6e 66 6f 5f |fer,play|er_info_|
|000018d0| 62 75 66 66 65 72 5f 73 | 69 7a 65 29 00 20 20 20 |buffer_s|ize). |
|000018e0| 20 20 70 6c 61 79 65 72 | 5f 69 6e 66 6f 5f 62 75 | player|_info_bu|
|000018f0| 66 66 65 72 3d 30 00 20 | 20 80 c0 00 00 20 20 80 |ffer=0. | .... .|
|00001900| 0b 20 73 6f 63 6b 3e 3d | 30 20 20 20 20 20 20 3b |. sock>=|0 ;|
|00001910| 20 69 66 20 77 65 27 76 | 65 20 73 75 63 63 65 73 | if we'v|e succes|
|00001920| 73 66 75 6c 6c 79 20 6f | 70 65 6e 65 64 20 61 20 |sfully o|pened a |
|00001930| 73 6f 63 6b 65 74 20 74 | 68 65 6e 20 63 6c 6f 73 |socket t|hen clos|
|00001940| 65 20 69 74 00 20 20 20 | 20 ec 90 28 73 6f 63 6b |e it. | ..(sock|
|00001950| 29 00 20 20 20 20 80 1c | 20 23 43 4f 4d 4d 53 5f |). ..| #COMMS_|
|00001960| 44 45 42 55 47 3d 31 00 | 20 20 20 20 20 20 43 6f |DEBUG=1.| Co|
|00001970| 6d 6d 73 5f 44 65 62 75 | 67 7b 22 53 6f 63 6b 65 |mms_Debu|g{"Socke|
|00001980| 74 20 63 6c 6f 73 65 64 | 22 2c 23 4c 4f 57 7d 00 |t closed|",#LOW}.|
|00001990| 20 20 20 20 80 1f 00 20 | 20 80 c0 00 20 20 74 63 | ... | ... tc|
|000019a0| 70 5f 73 74 61 63 6b 3d | bc 0f 00 80 02 20 80 08 |p_stack=|..... ..|
|000019b0| 00 00 00 | |... | |
+--------+-------------------------+-------------------------+--------+--------+